package com.boot.util;

public class DbFieldUtil {

    /**
     * 获取数据库字段类型（Mysql）
     *
     * @param type 定义的字段类型
     * @return 数据库字段类型
     */
    public static String getMysqlFieldType(String type) {
        if ("string".equals(type)) {
            // 字符串
            return "varchar(255)";
        } else if ("number".equals(type)) {
            // 数字类型
            return "double";
        } else if ("int".equals(type)) {
            // 整数
            return "int";
        } else if ("dict".equals(type) || "dicts".equals(type)) {
            // 字典/字典列表
            return "varchar(100)";
        } else if ("image".equals(type) || "images".equals(type)) {
            // 图片/图片列表
            return "varchar(255)";
        } else if ("file".equals(type) || "files".equals(type)) {
            // 文件/文件列表
            return "varchar(255)";
        } else if ("text".equals(type) || "richtext".equals(type)) {
            // 文本/富文本
            return "text";
        } else if ("object".equals(type)) {
            // 对象
            return "bigint(20)";
        } else if ("objects".equals(type)) {
            // 对象列表
            return "varchar(255)";
        } else if ("tree".equals(type)) {
            // 树形数据
            return "varchar(255)";
        } else if ("date".equals(type) || "timestamp".equals(type)) {
            // 日期/时间戳
            return "bigint(20)";
        } else if ("json".equals(type)) {
            return "json";
        }
        return "varchar(255)";
    }

}
